package ai.people.netmon.framework.domain.searchmsg.vo;

import com.alibaba.fastjson.JSONObject;
import lombok.Data;

/**
 * @author yuanqinglong
 * @date 2022/8/4 18:38
 */
@Data
public class EsMessageDetailVO {


    /**
     * id
     */
    private String id;

    /**
     * 信息链接
     */
    private String messageLink;

    /**
     * 情感标签
     *
     * @mock 中性
     */
    private String emotion;

    /**
     * 业务标签
     *
     * @mock 反政府
     */
    private String label;

    /**
     * 账户
     */
    private String account;

    /**
     * 账户昵称
     */
    private String accountNickName;

    /**
     * 帐户id
     */
    private String accountId;

    /**
     * 账户简介
     */
    private String accountSummary;

    /**
     * 群昵称
     */
    private String groupNickName;

    /**
     * 群成员
     */
    private String groupMember;

    /**
     * 群账户
     */
    private String groupAccount;

    /**
     * 群组id
     */
    private String groupId;

    /**
     * 群简介
     */
    private String groupSummary;

    /**
     * 发布时间
     * @mock 2022-02-02 10:01:01
     */
    private String releaseTime;

    /**
     * 收集时间
     * @mock 2022-02-02 10:01:01
     */
    private String gatherTime;

    /**
     * 危险程度
     * @mock 高危
     */
    private String dangerous;

    /**
     * 平台来源
     */
    private String platform;

    /**
     * 发布人
     */
    private String publisher;

    /**
     * 转载于
     */
    private String reproducedIn;

    /**
     * 内容
     */
    private String content;

    /**
     * 标题
     */
    private String title;


    /**
     * 构建
     *
     * @param esData 西文数据
     * @return {@link EsMessageDetailVO}
     */
    public static EsMessageDetailVO build(JSONObject esData){
        EsMessageDetailVO esMessageDetailVO = new EsMessageDetailVO();
        esMessageDetailVO.setAccount(esData.getString("user_id"));
        esMessageDetailVO.setAccountNickName(esData.getString("nick_name"));
        esMessageDetailVO.setGroupId(esData.getString("group_id"));
        esMessageDetailVO.setPlatform(esData.getString("info_type"));
        esMessageDetailVO.setReleaseTime(esData.getString("date"));
        esMessageDetailVO.setGatherTime(esData.getString("ts"));
        esMessageDetailVO.setMessageLink(esData.getString("url"));
        esMessageDetailVO.setLabel(esData.getString("tags"));
        esMessageDetailVO.setTitle(esData.getString("title"));
        esMessageDetailVO.setEmotion(esData.getString("sentiment"));
        return esMessageDetailVO;
    }
}
